using System.Collections.Generic;
using MvcCms.Data;

namespace MvcCms.Service
{
    public interface IPortalService
    {
        //Portal Email Template Methods
        bool CreateEmailTemplate(EmailTemplate emailTemplateToCreate);
        bool EditEmailTemplate(EmailTemplate emailTemplateToEdit);
        IEnumerable<EmailTemplate> ListEmailTemplates();

        //Portal Methods
        Portal GetPortal(int id);
        Portal GetPortal();
        Portal GetPortal(string urlAuthority);
        Portal GetPortalByName(string portalName);
        bool CreatePortal(Portal portalToCreate);
        bool EditPortal(Portal portalToEdit);
        IEnumerable<Portal> ListPortals();
        bool DeletePortal(Portal portalToDelete);
        bool CreateFeedBackItem(FeedBackItem feedBackItemToCreate);

        //Portal Resource Methods
        PortalResource GetPortalResource(int id);
        PortalResourceType GetPortalResourceType(int id);
        PortalResource GetPortalResource(int portalid, int typeid);
        PortalResource GetPortalResource(int portalid, string typename);
        bool EditPortalResource(PortalResource portalresourceToEdit);
        bool CreatePortalResource(PortalResource portalresourceToCreate);
        IEnumerable<PortalResource> ListPortalResources();
        IEnumerable<PortalResourceType> ListPortalResourceTypes();
    }
}